﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Utils
{
    class Library
    {
        //Chuyển tới các đều khiển
        public static void MoveToControl(System.Windows.Forms.Keys key)
        {
            if ((key == Keys.Enter) || (key == Keys.Down)) SendKeys.Send("{TAB}");
            if (key == Keys.Up) SendKeys.Send("+{TAB}");
        }

        //Xóa các TextBox trên Form
        public static void ClearTextBox(Form Frm)
        {
            //Duyet tat ca cac dieu khien tren form
            foreach (Control Ctrl in Frm.Controls)
            {
                if ((Ctrl.GetType().Name == "TextBox") || (Ctrl.GetType().Name == "MaskedTextBox"))
                {
                    Ctrl.Text = "";
                }

                //Neu do la dieu khien GroupBox
                if (Ctrl.GetType().Name == "GroupBox")
                {
                    //Duyet tat ca cac dieu khien tren GroupBox
                    foreach (Control Ctrl1 in Ctrl.Controls)
                    {
                        if ((Ctrl1.GetType().Name == "TextBox") || (Ctrl1.GetType().Name == "MaskedTextBox"))
                        {
                            Ctrl1.Text = "";
                        }
                    }
                }
            }
        }

        //Xóa tất cả các ComboBox
        public static void ClearComboBox(Form Frm)
        {
            foreach (Control Ctr in Frm.Controls)
            {
                if (Ctr.GetType().Name == "ComboBox") Ctr.Text = "";
                if (Ctr.GetType().Name == "GroupBox")
                {
                    foreach (Control Ctr1 in Ctr.Controls)
                        if (Ctr1.GetType().Name == "ComboBox") Ctr1.Text = "";
                }
            }
        }

        //Thiết lập trạng thái các điều khiển trên Form
        public static void SetControls(Form Frm, Boolean blnFlag)
        {
            foreach (Control Ctrl in Frm.Controls)
            {
                if (Ctrl.Name.Substring(0, 3).ToLower() == "txt") Ctrl.Enabled = blnFlag;
                if ((Ctrl.Name == "btnAdd") || (Ctrl.Name == "btnEdit") || (Ctrl.Name == "btnDelete")) Ctrl.Enabled = !blnFlag;
                if ((Ctrl.Name == "btnSave") || (Ctrl.Name == "btnCancel")) Ctrl.Enabled = blnFlag;
                //Neu do la dieu khien GroupBox
                if (Ctrl.GetType().Name == "GroupBox")
                {
                    //Duyet tat ca cac dieu khien tren GroupBox
                    foreach (Control Ctrl1 in Ctrl.Controls)
                    {
                        if (Ctrl1.Name.Substring(0, 3).ToLower() == "txt") Ctrl1.Enabled = blnFlag;
                        if ((Ctrl1.Name == "btnAdd") || (Ctrl1.Name == "btnEdit") || (Ctrl1.Name == "btnDelete")) Ctrl1.Enabled = !blnFlag;
                        if ((Ctrl1.Name == "btnSave") || (Ctrl1.Name == "btnCancel")) Ctrl1.Enabled = blnFlag;
                    }
                }
            }
        }
    }
}
